Multi-Protocol Label Switching (MPLS) put forward by Internet Engineering Task Force (IETF) is a third-generation network architecture and a new-generation IP high-speed backbone switching standard. The MPLS integrates the IP routing technology and layer-2 switching. It adds the connection-oriented property of the MPLS in the connectionless-oriented IP network, and transplants the connectionless-oriented IP service to the connection-oriented label switching service to separate the route selection layer from the data forwarding layer.
In an MPLS network, an ingress Label Switching Router (LSR) sorts the packets that enter the network into Forwarding Equivalence Classes (FECs) according to different forwarding requirements, and maps each specific FEC to the next hop, namely, specifies an FEC for each specific packet that enters the network. Each specific FEC is coded as a short fixed-length value called “label”, and a packet is encapsulated with the label so that the packet becomes a labeled packet which is then forwarded to the next hop. On each hop that follows, the packet header does not need to be analyzed any longer, but the label is used as a pointer which points to the next-hop output port and a new label. The new label replaces the old label of the labeled packet and then the packet is forwarded through the specified output port. An egress LSR removes the label and forwards the packet to the destination through an Internet Protocol (IP) routing mechanism. Compared with the traditional IP routing mode, the MPLS analyzes the IP packet header only at the network edge when forwarding data, without having to analyze the IP packet header at every hop, which saves the processing time.
In the process of setting up an MPLS label forwarding path, the label is bound to the FEC through a label allocation protocol. Currently, many label allocation protocols are available. Label Distribution Protocol (LDP) is a protocol developed for distributing labels. The LDP is a process of negotiating with the LSR about the meaning of the label. Through the LDP, the LSR can map the route information of the network layer to the switching path of the data link layer directly, so as to set up an LSP on the network layer. LSRs are interconnected according to information corresponding to a specific FEC in the local forwarding table. Such information includes ingress label, next-hop node, and egress label. An LSP can be set up between two adjacent LSRs or terminated at the egress node of the network. In this way, label switching is applied onto all intermediate nodes in the network, and an LSP that spans the whole MPLS domain is generated.
The LDP depends on the existing routing protocol when setting up an LSP. That is, the LDP works together with traditional routing protocols such as Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS) protocol to set up a routing table and a label mapping table for the FEC in each LSR. The LDP sends a label request packet or label mapping packet to the LSR according to information in the routing table.
As mentioned above, the LDP sets up the LSP based on the route discovered by the routing protocol. As long as a route exists, the LDP sends a Hello packet to the corresponding neighbor to set up a neighboring relation, and set up an LDP session and a peer-to-peer relation. When an equal cost route exists in the routing table, the LDP sets up an equal cost path for the data streams of the same FEC. Equal-Cost MultiPath (ECMP) routing means that multiple routes reach the same destination, and all routes have the same measure and priority. The ECMP routing applied in forwarding a packet in the equal cost route varies with the local policy, and therefore, packets arrive at the destination through different paths. The paths are mutually redundant and share load.
The inventor of the present invention finds that: The equal cost path increases the bandwidth available to the user, and enhances failover flexibility and load balance capability of links to some extent, but brings some adverse effects to MPLS networks, especially to transmission-oriented MPLS networks.
The existence of equal cost paths imposes higher requirements on the node device in processing IP and MPLS packet headers. Because all routes have the same measure and priority, different ECMP algorithms are applied to select an equal cost path for forwarding each packet according to the local policy and the information of the IP and MPLS packet header. That increases the device overload for processing packets, and imposes higher requirements on processing for packets.
The existence of equal cost paths may lead to disorder when packets in the same stream arrive at the destination. One of the equal cost paths is selected for forwarding a packet, and each packet incurs different network delays when being forwarding on different paths. Therefore, the packets may be disordered when they arrive at the destination, which is intolerable to certain services that need to impose special requirements.
Due to defects of the current load balance algorithm, the existence of the ECMP routing leads to congestion or Dial of Service (DoS) on some links. The current load balance algorithm is inefficient, and the Network Management System (NMS) is unaware of the congestion or DoS on certain links, which leads to low efficiency of using the links.
It is difficult to manage or maintain the network, or implement Operation Administration Maintenance (OAM). In the MPLS, the network management plane is separated from the data forwarding plane, and the control plane is unable to perceive faults of the data plane. Due to uncertainty of the ECMP route that conveys the data stream, the traditional MPLS detection tool can hardly detect the fault of the data plane, which makes it difficult to run, manage and maintain the network and implement OAM functions.
The RFC4928 in the prior art is a solution to disorder of packets in the same stream when an ECMP route exists in an MPLS network. In this solution, the IP protocol field of the packet or the MPLS label stack is probed and different ECMP algorithms are applied, and therefore, all packets in the same stream are forwarded by the same path, and the disorder of packets on the ECMP route is prevented. However, such a solution is defective in that: An ECMP route is set up first, the IP protocol field or label stack of the packet is probed at the time of forwarding the packet, and an ECMP algorithm is applied but the packet does not use the ECMP route, which increases network processing overload and imposes higher requirements on network devices in processing packets.